3
תגובות

שאלה לגבי מערכים

פתח s976 ,
יש לי מערך מעורבב. זאת אומרת חלק אסוציאטיבי וחלק מספרי. אני רוצה לעבור על כל האלמנטים המספריים ולא על האסוציאטיביים. פונקציה foreach אינה מתאימה לזה.
האם יש משהו שמתאים?

3 תשובות

avatar ענה Ferox ב 07 למרץ 2012 #

אני ממש לא בטוח לגבי הפתרון, סתם משהו שעלה לי לראש, בקושי חשבתי. אבל אולי תנסה משהו כזה:

$arr = array(
       4, // Normal
       'hi', // Normal
       'name' => 'Shmulik' // Associative
          );
     
foreach ($arr as $key => $val) {
  if (isset($key) && isset($val)) {
    // Associative
  }
}

מקווה שהבנתי למה אתה מתכוון.

avatar ענה intval ב 07 למרץ 2012 #

פשוט תבדוק עם המפתח הוא מספרי

is_numeric($key)

avatar ענה s976 ב 07 למרץ 2012 #

תודה רבה!!!
עשיתי כעין זה:

foreach ($table as $key => $row) {
    if(is_string($key)) continue;

עובד כמו שצריך. ישר כח!